package com.ai.flight.business.service;

import java.util.List;

import com.ai.flight.business.record.FlightBooking;

/**
 * @Author: 龙玉虎 yuhu.long@hand-china.com
 * @CreateTime: 2025-06-01
 * @Description: 航班业务 Service
 */
public interface FlightService {

    /**
     * 航班预定列表
     *
     * @return 航班预定信息列表
     */
    List<FlightBooking.BookingDetails> getBookings();

    /**
     * 航班预定详情
     *
     * @param bookingNumber 航班号
     * @param name 姓名
     * @return 航班预定详情
     */
    FlightBooking.BookingDetails getBookingDetails(String bookingNumber, String name);


    /**
     * 修改航班预定信息
     *
     * @param bookingNumber 预定航班号
     * @param name          姓名
     * @param newDate       改签日期
     * @param from          改签出发地
     * @param to            改签目的地
     */
    void changeBooking(String bookingNumber, String name, String newDate, String from, String to);


    /**
     * 取消预定
     *
     * @param bookingNumber 航班号
     * @param name          姓名
     */
    void cancelBooking(String bookingNumber, String name);
}
